import { downLoadXlsx } from '@/utils/downloadfile';

/** 导出用户列表 POST /api/system/user/export */
export async function userExport(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.userExportUsingPOSTParams,
  options?: { [key: string]: any },
) {
  return downLoadXlsx(`/api/system/user/export`, { params }, `user_${new Date().getTime()}.xlsx`);
}

/** 导出参数配置列表 POST /api/system/config/export */
export async function configExport(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.configExportUsingPOSTParams,
  options?: { [key: string]: any },
) {
  return downLoadXlsx(
    `/api/system/config/export`,
    { params },
    `config${new Date().getTime()}.xlsx`,
  );
}

/** 导出字典数据列表 POST /api/system/dict/data/export */
export async function dictionaryDataExport(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.dictionaryDataExportUsingPOSTParams,
  options?: { [key: string]: any },
) {
  return downLoadXlsx(
    `/api/system/dict/data/export`,
    { params },
    `dictionaryData${new Date().getTime()}.xlsx`,
  );
}

/** 导出字典类型列表 POST /api/system/dict/type/export */
export async function dictionaryTypeExport(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.dictionaryTypeExportUsingPOSTParams,
  options?: { [key: string]: any },
) {
  return downLoadXlsx(
    `/api/system/dict/type/export`,
    { params },
    `dictionaryType${new Date().getTime()}.xlsx`,
  );
}

/** 导出定时任务列表 POST /api/monitor/job/export */
export async function jobExport(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.jobExportUsingPOSTParams,
  options?: { [key: string]: any },
) {
  return downLoadXlsx(`/api/monitor/job/export`, { params }, `job${new Date().getTime()}.xlsx`);
}

/** 导出定时任务调度日志列表 POST /api/monitor/jobLog/export */
export async function jobLogExport(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.jobLogExportUsingPOSTParams,
  options?: { [key: string]: any },
) {
  return downLoadXlsx(
    `/api/monitor/jobLog/export`,
    { params },
    `jobLog${new Date().getTime()}.xlsx`,
  );
}

/** 导出登录日志 POST /api/monitor/logininfor/export */
export async function loginInfoExport(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.loginInfoExportUsingPOSTParams,
  options?: { [key: string]: any },
) {
  return downLoadXlsx(
    `/api/monitor/logininfor/export`,
    { params },
    `loginInfo${new Date().getTime()}.xlsx`,
  );
}

/** 导出操作日志 POST /api/monitor/operlog/export */
export async function operationLogExport(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.operationLogExportUsingPOSTParams,
  options?: { [key: string]: any },
) {
  return downLoadXlsx(
    `/api/monitor/operlog/export`,
    { params },
    `operationLog${new Date().getTime()}.xlsx`,
  );
}

/** 导出岗位列表 POST /api/system/post/export */
export async function postExport(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.postExportUsingPOSTParams,
  options?: { [key: string]: any },
) {
  return downLoadXlsx(`/api/system/post/export`, { params }, `post${new Date().getTime()}.xlsx`);
}

/** 导出角色列表 POST /api/system/role/export */
export async function roleExport(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.roleExportUsingPOSTParams,
  options?: { [key: string]: any },
) {
  return downLoadXlsx(`/api/system/role/export`, { params }, `role${new Date().getTime()}.xlsx`);
}

/** 本地资源通用下载 GET /api/common/download/resource */
export async function commonFileDownloadUsingGET(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.commonFileDownloadUsingGETParams,
) {
  window.location.href = `/api/common/download?fileName=${params.fileName}&delete=${params.delete}`;
}
